草庐IT

c++ - 创建附加到控制台但具有重定向标准 IO 句柄的进程

我有一个命令行应用程序,它根据用户提供的脚本执行其他程序。一些执行的子进程是cmd.exe运行各种.cmd脚本。一些.cmd脚本使用titleWindowsshell命令设置控制台窗口标题。这就是问题所在。如果用户请求记录子进程的输出,我使用标准句柄的管道来获取子进程的输出。然而,这似乎使子进程无法附加到我的应用程序运行所在的控制台,因此title命令停止工作,停止更改控制台窗口标题。是否可以创建一个具有重定向标准句柄但仍附加到父进程控制台的进程,以便title命令起作用? 最佳答案 显然,要将子进程附加到父控制台,所需要做的就是不

c++ - Windows 中 code::blocks (C++) 中父/子进程的大多数准系统示例

1)我正在寻找一个非常简单的示例,分别包含两个函数(Parent、Child),它们将创建一个子进程,然后将子进程连接到父进程(父进程可以访问子进程中的变量).请让示例尽可能简单,因为我很确定Windows代码是有意设计得尽可能复杂和困惑的。2)或者,我也愿意考虑替代WINAPI调用来创建父/子进程(只要它与Windows兼容)。编译器是code::blocks,操作系统是Vista。如果可能的话,最好与其他操作系统兼容(我知道WINAPI不是,但这是我知道的唯一方法)。如果这些函数与unix函数(例如fork)有相似之处,那就太好了。3)对于一个更难的替代方案,我怎样才能以这样的方式

c++ - 在 Windows 上设置 midiIO 库

我已经下载了midiIO库,在自述文件中说:editthefileMakefile.libraryandsettheOSTYPEandOSSUBTYPEtomatchyourhardware/ossetup.type"makelibrary"tocompilethelibrary.Itwillbecreatedaslib/libmidiio.ainunix.editthefileMakefile.examplesandsettheOSTYPEandOSSUBTYPEtomatchyourhardware/ossetup.Also,ifyouareusingALSA,thenuncomm

c++ - Windows Shell 扩展不调用初始化

我希望这里有人对可能导致此问题的原因有所了解。我已经为Explorer实现了几个COM扩展,它们提供了ShellIconOverlays和一个ContextMenu,并且覆盖效果很好。当我在桌面上单击时,上下文菜单工作正常,但是当我右键单击任何资源管理器实例时,我可以看到在调试器中查询的接口(interface)和正在生成的IShellExtInit实例,但在资源管理器中未调用初始化函数实例,但它在桌面上调用得很好,之后会立即查询ContextMenu项。这里有人以前见过这样的东西吗? 最佳答案 如果您正在调试shell扩展,您可能

c++ - 如何将 WinProc 消息代码转换为文本?

我已经像这样定义了一个winproc消息处理程序WndProc(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam)是否有将uMsg代码转换为文本的实用函数?我需要它来调试。我似乎无法在msdn上用谷歌找到它。我可以自己编写代码,但它应该已经存在...谢谢。 最佳答案 听起来像是Spy++的工作如果它只是你想要的调试,但是,如果你需要它在更多的代码级别,那么你可能需要使用CPP定义来创建日志记录,例如:#defineWNDMSG(x)casex:LogWndMessage(#x);

C语言——三种方式实现学生信息管理

目录方式一静态实现菜单打印函数 初始化学生信息增加学生信息 删除学生信息 

.net - 是否可以将软件注册为游戏 Controller 设备?

我见过这样的问题stackoverflow题。然而,在这个和许多其他类似的讨论中,最终结果往往是垃圾键盘事件而不是操作,并被识别为游戏Controller。我很确定驱动程序是创建附加功能所必需的。考虑到这一点,软件应用程序是否有可能伪装成模拟游戏Controller等输入设备?我对开发驱动程序还很陌生,这超出了我的知识范围。 最佳答案 看看http://code.google.com/p/vmulti/它实现了一个虚拟操纵杆(以及其他一些设备),还有一个用于合成您自己的输入事件的基本客户端api

c++ - Qt - QTcpserver 工作不正常

我正在做一个简单的服务器-客户端应用程序。但是,客户端从服务器端获得了一些未定义的行为。找回错误码后,才知道是服务器断开了连接。这是服务端main.cpp#include#include#include#include#include#includeclassMyMessageBox:publicQMessageBox{public:MyMessageBox(std::stringmessage,QWidget*parent=0):QMessageBox(QMessageBox::NoIcon,QString("ErrorMessage"),QString(message.c_str(

c++ - 如何在没有资源编译器的情况下将自定义窗口的资源添加到可执行文件中?

我能够将位图对象(LoadImage)加载到可执行文件中(并将其实现为图标);然而,当我将它作为独立的可执行文件发布时,图标消失了。我发现它需要位图在运行时出现在目录中才能使这个技巧起作用。但是,即使当前目录中存在位图,我的可执行桌面图标也不会从默认图标更改。我假设会发生这种情况,因为桌面图标应该在编译时确定。因此,我想知道是否有一种方法可以在不需要资源编译器的情况下将资源添加到可执行文件中?我的愿望是用winapi完成所有事情。如果那不可能,那么我会考虑替代方案。 最佳答案 你可以使用BeginUpdateResource,Upd

C++/Qt : how to access windows registry remotely?

有没有人知道如何从远程主机的Windows注册表中读取值(假设我有足够的权限)。我的意思是软件/我自己编写的代码。我的工具需要这个,例如获取该机器上已安装软件的列表。在C、C++甚至Qt中这可能吗?我必须使用一些MSDN命令吗?请查看下面的新问题;32位64位问题。 最佳答案 看看RegConnectRegistryMSDN中的函数。这允许您打开远程注册表项的句柄,然后使用标准注册表API与其交互。 关于C++/Qt:howtoaccesswindowsregistryremotely?